package com.lekang.le.service;

import java.util.List;
import com.lekang.le.domain.Bill;

/**
 * 账单Service接口
 * 
 * @author caoyangyang
 * @date 2025-10-27
 */
public interface IBillService 
{
    /**
     * 查询账单
     * 
     * @param id 账单主键
     * @return 账单
     */
    public Bill selectBillById(Long id);

    /**
     * 查询账单列表
     * 
     * @param bill 账单
     * @return 账单集合
     */
    public List<Bill> selectBillList(Bill bill);

    /**
     * 新增账单
     * 
     * @param bill 账单
     * @return 结果
     */
    public int insertBill(Bill bill);

    /**
     * 修改账单
     * 
     * @param bill 账单
     * @return 结果
     */
    public int updateBill(Bill bill);

    /**
     * 批量删除账单
     * 
     * @param ids 需要删除的账单主键集合
     * @return 结果
     */
    public int deleteBillByIds(Long[] ids);

    /**
     * 删除账单信息
     * 
     * @param id 账单主键
     * @return 结果
     */
    public int deleteBillById(Long id);

    /**
     * 创建订单支付账单
     * 
     * @param orderNo 订单编号
     * @param elderlyId 老人ID
     * @param amount 订单金额
     * @param prepaymentAmount 从预交款扣除的金额
     * @param depositAmount 从押金扣除的金额
     * @return 账单对象
     */
    public Bill createOrderBill(String orderNo, Long elderlyId, java.math.BigDecimal amount, 
                                java.math.BigDecimal prepaymentAmount, java.math.BigDecimal depositAmount);
}
